package com.skzh.system.service;

import com.skzh.system.domain.BaseAttach;

import java.util.List;

/**
 * 附件存储Service接口
 *
 * @author wenlinchuan
 * @date 2024-06-20
 */
public interface IBaseAttachService {
    /**
     * 查询附件存储
     *
     * @param attachId 附件存储主键
     * @return 附件存储
     */
    public BaseAttach selectBaseAttachByAttachId(Long attachId);

    /**
     * 查询附件存储列表
     *
     * @param baseAttach 附件存储
     * @return 附件存储集合
     */
    public List<BaseAttach> selectBaseAttachList(BaseAttach baseAttach);

    /**
     * 新增附件存储
     *
     * @param baseAttach 附件存储
     * @return 结果
     */
    public int insertBaseAttach(BaseAttach baseAttach);

    /**
     * 修改附件存储
     *
     * @param baseAttach 附件存储
     * @return 结果
     */
    public int updateBaseAttach(BaseAttach baseAttach);

    /**
     * 批量删除附件存储
     *
     * @param attachIds 需要删除的附件存储主键集合
     * @return 结果
     */
    public int deleteBaseAttachByAttachIds(Long[] attachIds);

    /**
     * 删除附件存储信息
     *
     * @param attachId 附件存储主键
     * @return 结果
     */
    public int deleteBaseAttachByAttachId(Long attachId);

    void addOrUpdateAttachList(List<BaseAttach> list);

    List<BaseAttach> getAttachList(String bizId, String bizType);

    /**
     * 更新附件上传记录
     *
     * @param bizId        业务主键
     * @param bizType      附件类型
     * @param list 附件列表
     */
    void updateBaseAttaches(String bizId, String bizType, List<BaseAttach> list);
}
